﻿using System;
using System.Collections.Generic;
using HR60_PanelSoft.Model.BaseModel;

namespace HR60_PanelSoft.Model
{
	/// <summary>
	/// 设备类型
	/// </summary>
    public class DeviceType
    {
		/// <summary>
		/// 名称,不重复
		/// </summary>
		public string name = null;

		/// <summary>
		/// 协议标识
		/// </summary>
		public string protocolTag = "";

		/// <summary>
		/// 类型分组
		/// </summary>
		public string group = null;

		/// <summary>
		/// 高级控制类型
		/// </summary>
		public ExDeviceType exType = ExDeviceType.NULL;

		/// <summary>
		/// 所需负载类型
		/// </summary>
		public PinType pinType = PinType.NULL;

		/// <summary>
		/// 所需负载数量
		/// </summary>
		public int pinLen = 0;

		/// <summary>
		/// 开关类型
		/// </summary>
		public List<SwitchType> switchTypes = new List<SwitchType>();

		/// <summary>
		/// 子设备类型
		/// </summary>
		public DeviceType subDeviceType = null;

		/// <summary>
		/// 子设备数量上限
		/// </summary>
		public int subDeviceMax = 0;

		/// <summary>
		/// 设备品牌列表
		/// </summary>
		public List<DeviceBrand> brands = new List<DeviceBrand>();

		/// <summary>
		/// 可控属性列表
		/// </summary>
		public List<CtrlAttr> attrs = new List<CtrlAttr>();

		/// <summary>
		/// 是否是单控设备,可直接与按钮映射
		/// </summary>
		public bool canButtonCtrl = false;
    }
}
